{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Matplotlib图鉴——基础箱线图\n",
    "\n",
    "## 公众号：可视化图鉴"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3.3.3\n",
      "1.1.5\n",
      "1.19.5\n"
     ]
    }
   ],
   "source": [
    "import matplotlib\n",
    "print(matplotlib.__version__) #查看Matplotlib版本\n",
    "import pandas as pd\n",
    "print(pd.__version__) #查看pandas版本\n",
    "import numpy as np\n",
    "print(np.__version__) #查看numpy版本\n",
    "import matplotlib.pyplot as plt \n",
    "plt.rcParams['font.sans-serif'] = ['STHeiti'] #设置中文"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "注意，代码在以下环境全部通过测试:\n",
    "- Python 3.7.1\n",
    "- Matplotlib == 3.3.3\n",
    "- pandas == 1.2.0\n",
    "- numpy == 1.19.4\n",
    "\n",
    "因版本不同，可能会有部分语法差异，如有报错，请先检查拼写及版本是否一致！"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 进阶箱线图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsEAAAJjCAYAAADtZcyRAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAACTlUlEQVR4nOzdeXxcdb3/8dcnS5O2lC5QirRAkTU1qFxB/dV6beyVCiKLyOWmqEBLoSARLdgquW5Xg5aliq1QqKmCQkRUsIC9iCVVenHDDUvDallaaKGke5u0ST6/P75n2kk6adNmkpOZ834+HvNI5syZmc9nJpn5nO/5LubuiIiIiIgkSUHcAYiIiIiI9DYVwSIiIiKSOCqCRURERCRxVASLiIiISOKoCBYRERGRxFERLCL7zYKj4o4jV5nZW81scNxxxMnMiuOOQUSSSUWwiHRHBfAvM1tqZgO6cgczG2RmbzGzAWa2T59BZlZkZsPNbOh+RdsNZnacmVna9fFmdr2ZFXbjYb8JvGFm/7mfMY01s9+Y2bRObp9sZh8xs6IuPNZQM7vEzP6tk9vPNrNz9iG2IjP7mZl9ag/7/AL42T485ifM7H/NbGInt08zszvN7IQuPt5DZvYVMyvtsH2ymT1pZh+LrpdmfoSd+59iZuP283JSV/MXkeza6wejiOSmqFAcATQDXZ0Q3ID+QKO7r+7C/l+Jfo6g6wfV5wI/SIuzi3dr52vAV9Me4wfARfvzQMBsd796TzuY2TDgz8BzZvZ+d98GnAx8Hvg18Jt9fdKoMK0AXgd+uc9RByOBCcDjndx+DfBW4Hjgpb081jBgPvAZ4K8Zbv8C0Abc18XYTiS81xuAOzvZ55/Al81snLsv3dODmdkQYBZwMDAnKnQN6Ae8Cuwg/F00A59Ou18/oMjdt3Z4vDLgdGCtuzd1eLo3o/i3mNnbgd+a2cfdfXEn4f0MOGJP8e/B34CMBx4i0rNUBIvkr4lA3X7et12RmYmZTQX+nVAAVgC3ARd04bH/CswkFCvNnexzOfB2Qkvpy2nbCwnF2h867L8l7X5d1R+YDWzrwr7XAgcCd0YFMMAC4MuEQrPTIjjq7jAQ2B5d2qKbTgOGA9VAcSfdAgoIOfcHVrt7W4fbD4t+/irD8x4GlAG3ufveCmCi2AA2d3L7VrpwoGNm7wQGEIpzgN+Z2duAUsJ7ORw4ifC6vwz8D3CwmZ1N+E7qD7zo7o+lPWYR8CNCvuuAB6M4DSgBpgKnAodEd9nY4eDqLuATHUK9BlgBXJEhjU3Rz3Xu/qSZ/R/wYzM7xt23ZNh/B/AEcHGH7ZcAi4BVGe4DoXju7H9ARHqYimCR/PVLQlGwDWhJ2/5z4MPAEMKXd7pUS/B29iAqdG4GXgTOIRQSs8zsWXf/2p7u6+5PAk/u4bEPjx77eaDau7asZWv02PO6sG/qeYYQiuCWvez3b8BVhBbfOant7t5oZt8BvmRmZ7r7wk4e4nPsajHPpCa67M1wYG0U00eAwwkHOg6cEr0nAA+7+wrgv6Lrz5rZ+A6P9Td339Bhm3f42VEbXWvt/zxwBrsK/29H9ysFLov2mUEo/lJF/Uein0b4XvoV8BjsfJ8WRI/5P8DXgTWE4v7aqIvKbKCScFByK+Hv8bOEFtY2Ovw9m9lxwKeAc9x9i5ldDDzm7s+n5Zr+cyrhf2mwmQ139xc75NwCbHH3ZWnP8THC380Ad7800wtlZk3s5e9PRHqOimCRPBW1WO7Wymlmo4CX3X3T7veCTPfpcP9jCEVKIXChu282sxsI3QO+amaHAle6e+t+hv4Vwinum7tYAENa4RYVOKWEAj/T/YsIOb65twc1swOAHxNO6V+UIZ5vARcC3zezf3P3lRke5udAA7taglsJLehfJBTVu7XipilkV0tw+vt1ObsKR4Dvpv1+BqGFM9UX96YMj3sS8Pc9PG+XmNm7gNfd/ZXUNne/wMwGAquBb7n7bgW+mf0YqCV0RXky2vb26P4dD5C+CJwFfNHdvxXt+32i98/d3cz+F3ja3W+Lbr+XcPBxjLu3a6WP+qHXAv/r7g+a2VuAecDzZnaSu6cXzKdEB0HvILxn5YTX+qoOMbY7mIwK99R7MjU6a5KyFjjB3VN/fx1b90Wkt7i7LrrokqAL4XTyb/bzvu8DXiN8cU+KtpUSitYi4KeEwvNPwP/bz8dvI/RfLdmH+30nfJw5hFPMvpfLDwkt4Q58tZPHLCT0f20FPryH5/4goTVvGTC8C7GWAs8C/wJKo213AtP2Id+fAUs6bDshymcC8K7o92uj7anL56LtIzM85qjotoui66n+tv2j679Jf07gbEI3lH8CIzo81kXRa3I0odie0uH2L0fP9e2017qB0MJbniG2t0Y//z3KfVQXXqN+GbYZoeDdSugnPRi4kdAq/X5CF4nvA8uj+FqjuH5M6MLzsVQsHR7376nXhtDq/avo/l9Le+0/E237VKb76aKLLr1/iT0AXXTRpecuURFTAlh0/YDoi/i2fXycEsJp6O2EVq9Lou0WFTtPRNcLgVui52iLCpYz6UJBSyhKn4/u+/1o21DgrC7c9zvsKoL7EwZCdbZvqt/pEDopgqN97oxu/2IXnn9atO/zwEl72XdutO/EtG2NwI378H78tGPxxK4ieDyhK8waogI2bZ9Lo312ez/YVQR3vMyLbv8NsITQN/rbUYH4OnA1cEiHx/o98Ivo78OBz6Xddnp03/uAgrTtxwNvRJeMryHwn9HjHZW2bWYncacuP0/bt4DQP7fjPl8hdN9oBB4itPA7cH4ncRR2uP736LUpJBTMzYS//S3ABwgHA68R+pTvdr9s/s/roosuXb+oO4RIfptM6CPZcRaGS80sUz/FT7j7XekbzOwS4EuE0e/rgZ2j5N3dzWw9u05NtwJXmNkjhJkGzo0ujxAGLmUUDQqrIxQL6V0OHgLea2ZXufucjHfuwHcNXOvs9hagxcxKOonlLYSBVBWEQniumRX6Hrp3uPu86DT7HOBPZvZdzzDjhJl9mjBzwXfd/eG0m1ro2gC9lD2dQj8AOBK4IcNrMRTY5u57Gox1J6GINaAYeCbttmOj68OB7wFf8g59i83sv4D3AqdGfx9O1O81es3nE2ZEuMDTBvq5+zNmdjphINmx0T6Y2dGEMwTN7JpF4TQz20JosU0NVHtLhlweIrT6pp6jzcy+SPgbe4pwUPBBQreNZjM7ONqnP6G4HhjFcCShdX0C8CHCQdctGZ6vjTDwczFwB2EWlEcIxfUfgCkZ7iMicYm7CtdFF1167kKYuuwdhFkCTmDXaehP0v40+dej7adneIxzCC13D5DhNDTwCrAww/ZhhAFfjcDoPcTYD7g/ev7PEUb9p1qCP0Aochy4eg+P8R2iluDo+lfpvGXwv6J9hpChJZgwqGor8JPo9dtTK2P65d8Jrd4vAcdmiPGS6HXs6uM58OdO8v0Jod/vf6ddvsOuluBCQtF2D2mtvoTZNl7t5DHbdYfIcPtvovjrCH1aO3svUu9lpss1wDujGGem3eckQvH7IWBIh8c7izCLxLPR30aqxf1FQnePaenvfYf7/gH4YSe3HU048PiPtG2HEAr4ywhnPF4hdB9yoIkwA8T3gX/v8Fh/Z/eW+QnA7wjFe1O0zydIa53PdD9ddNGl9y5qCRbJY+6+hnBaHNg5ZyrA733XSHjMLNWa13HGANz9vmjQ1z86eZpWMrRMunsjUG1m3/BOWmfNbAThtPlY4Avu/m0z+3raY/zWzD5KaNG70cy2uXumFrjO4ipPu34C4RT83lqKbzGzxcAL0aaTCUXMDEIR8/bosVOmE2YPWOHur5jZ/3ra4Kpo9oJqwoHGr4B3E4rTuWmP8ViGbTcTtUR2YnT0mJlyaI1aM/+TcJr+1uimoYTW/P31mLtX7mWf/ybM4rCW0H1mJSH/WsIMCtui1tjrzOwnHqZvexdhxpKfuvsjHXL5JfBLC4uSrCK8JuM9GoRo0UIhUYtzJk933BCdefghcK9HA+eilvyX2DWV24Yo/isJxepaQjeIVztL3MzeQfgbOZtQZN9LaMV+g/Be3QHcZmZLCTNaiEiMtGKcSLKMjn52nMWgf/Sz46IBAOyhAN6rPRTAZwD/ILS8Xe7uszq5/6PAxwktc3PN7KJ9eO6nUxdCyyG0L2A7u98z7t4SXf7i7k8RWo5fcfenOjxuSRTbqui+HaeXqyMUQI8B50XPv7bDY2Tatok9zyH7W3e31IXQ2p+ew1JCS+TnbFdfmCFkONDJJndf5u5/dfeXfdeCK1vcfW3a30JqOrnTop/jCQcnP9/DQ08ktMwDXBjNEJHuLRkuuy36EXVt+AVwCvAzMzsz6vLzDkKr8yHufiShK0Oxh+5BDYRuIn8xsw/sIcaXo1x+Drwtep7HgG9Ej3dM9Hshu891LSK9TEWwSLKMJkxp1bHYTS0L2+MT91tYYvYBQveK/oSBb3uc39fdH2LXinC1ZjapGyHs8zLHUSvh+wizXnQ0Eljluy9kkfI/hIUePuwdVi3rgs5aN7sqVXi9I7o+hO61BO+vQ83sHDO7zsyOjA4qXgA+EfUT/gjwS3ffuIfH+Aq7CvgDgClmtrOPrbuv7nhh93mwIbTEn0E4ePklYQDbV4Bh7v5rd38j2u+PwOFmNobQ//dUQlePJzoL0N3Xufsp7v4Fd28gHIR8lfC38yihG8U33f0/fPd5mkWkl6k7hEiyjCb0c+wo1RLcG6tXbSZ0f/grYZq1Z/ayPwDufne0kMYFwP914S6FnZwiL82wbW/OBg4irFTW0Ujar2rXjrsvZ9ecvb3tZ8Bffdfcu0MJU7N1iZkdSOjf/Jd9uM/5hFbQY6NLIaE7RDPhPb8+2vUOwgHCbEJxftseHnMKoXj9OmGQ5vcIfZi/mnq8fegOsZgwXdnfCIX4anfPdN+HCa3Tvya8x99y9y92FmOGmK8EjiO0epcR+jv/b1fvLyI9T0WwSEJE/YHfAvw5w829VgS7e0N0SvkZd8/UUren+84ys3ldaEWbSxg8lkmnfToziWaL+G50v59m2GUke2gdzKCrn7sHsueW4JFRoZUyouMO7r6Z9qvzDaGLLcHRTA3zCIV/p0WwmZ0H/MJ3zZ4xmdBq+iah9fPfCF0Avt7h/b6VML3aFcCf3H1JJ49fTpiS7ee0b4m/KsonNetIZ7NDtBP1Vd8504iZDTez9xJaa78RvWYQ3qdXCX17v7OXAtgybDuecMBWRRgc+jPCAeh+dy0SkexSESySh6JBUW3AjrTT9EcQukDtsSU4OvVfRJhrtyun743MRUCnPG152X3VldPI7r6WaInh7jCz9xCKr+HARzt2IzGzw4BBhAFVXdVvTzea2ZfYNYPCvZ3sVkDo5pBp2rg9dXPrysC4w8zsHsKgur+TufU7FWsRYcDbN8ysLPpbu5bQ8vtXD9ONtRH6O3c84BkNbCQsWLF8D9PQzSIcnH2GXVOkpYrZxlR/57T+x+nx7XaQFU0NeBLwVkIL7eGEAXD/IBTrmNm7gbsJBxaNhJXjCqMBh18Glrn7L9Ietrjj87h7lZl9jtACfCGhO89Cdi+C9T0sEhP984nkp28TpnnqOD8wQJWZVXVyv/RC4ueEAWl7MxAYsK8B7kEB+z5eYZ+K8MjBnT6Y2WjCrA+XEQqkj3ja8rtR6+cpwLho024zEOxBpvmJ+7GrkGoj9Fn9HWHRhkz6EbqEnJG27VhCS2nGIjtqfR9OmKkgk1SBWUM4gLgEWJDWVWADMD5aKvklwnv0CcJBwI9SB1vpXSeiAtVI64dtZkcBXyDMmfs64e/sIuA9ZvYdQqty+gHMJUCZu79qZqdE29L/Pgqjx+2s1fy5DteHEN7XvxIK+Hrgjx7mCR5tZjdFsT1NeI/fSui//gMzm0Vo2V1FGPSWUkQ4eJjWSQxLCAcUh3fY5yB6pwuSiGSgIlgkP/2ccIp+K6GI2xeFhM+G3VrWOjGQPU/l1WXR1FX9CV0B9sXgfXiOwYQCM3X6fFOG3aqiy58Iq+P9s8Pt24DPR78vJUy91lVvzfCc/dhVvM4BZnc2q0ZkA9Dk7utTG8zsNUI/1o6LV9xPONV/EGGg2G5dBCKjo5+/BKamDRBLmUOYC7lj149nCfMPZ5LKqZ+ZHUToEvDvhMJ4AXCNu683s08Q+vbeBswzs1+6+zkA7v4aYbU12HWgkF7op7Z11h2i40HBbcCPO051ZmbnErq7GKGrxuejMyFPRweNcwnzawNc3uExi4Cj2DUV3b54fT/uIyJZ0CeKYDP7FmEC+9HRadxaQgvHamByNNWPiHRRx7lWe0rUdaKUMFo/G1LF7JB9vF+X93f3DWb2KmFg1ULCae+O+1xtZr8FHuxk1odfE1bC+z8PczF3mbuvyrC5mKhY28sMCanHuDDDtpWEuXY7+gPh9P+jwNzOBiK6+3fNbIW7P9DJ7UuA4WY2lF0tu9v3Eu/OItjd3zSzXxEGRn7J3f+e9tg/NrN7CS3LUwlz+GZS2uEnRC3re+gO0a7lPepOk2k+7J+b2fXAfe7+pw633WJmLxIWm3nE3X/W4e5FhCnrxncSd0Zm9nf6yPewSBJZ5kGxvRiA2RGEZTjXREXwlwgDHSYSPhD/m7Da1J6WCRUR6TIz65dhPl+R/WJhaecd7t7pLCEi0vf0hSL4LkIrztuiIvg5QivBT6JBF43AGe7+uzjjFBEREZH8EetiGdEgh/9HmH4IMysljHhuAHD3FsKclmPiilFERERE8k/cfZFuIkynkxodOzT6uTltn81p23eKprm5FGDgwIHvOuGEE3owzD3bsmULAwdmZVxQzkly7n/5y19417veFXcYsUhy7kn+m09i7o2Njbz22ms0NTVRWlrKW97yFoYNGxZ3WL0iybmnJPFvPiXO3P/yl7+sdffhPf08sRXBZvYxwqCJe4DUWuxvRj8Hpe16QNr2ndz9duB2gJNPPtmfeGJf5qrPriVLljB+/PjYnj9OSc7dzIjz7y5OSc49yX/zyn183GHEQrmPjzuMWMSZu5nty9zr+y3OluBTCfNavkYohgcD/yQMknsb8PdouqRjgP2eWF9EREREpKPY+gS7+zR3P8jdDwU+Brzi7scDPwI+bWYDCJOkrwV+H1ecIiIiIpJ/4u4TnMlNhJbg1YRW4gs87iksRERERCSvxDo7RIq7L3H30dHvTe4+yd0PdPfj3f3/Yg5PREQSqq6ujvLyciZMmEB5eTl1dXVxhyQiWdIXW4JFRERiV1dXR3V1NbW1tbS2tlJYWMiUKVMAqKysjDk6EemuPtESLCIi0tfU1NRQW1tLRUUFRUVFVFRUUFtbS01NTdyhiUgWqAgWERHJoKGhgXHjxrXbNm7cOBoaGmKKSESySUWwiIhIBmVlZSxdurTdtqVLl1JWVhZTRCKSTeoTLCIikkF1dTXnn38+AwcO5OWXX+aII45gy5Yt3HzzzXGHJiJZoJZgERGRvdBMnSL5R0WwiIhIBjU1Ndxzzz2sWLGCRx99lBUrVnDPPfdoYJxInlARLCIikoEGxonkN/UJFhERyaCsrIyvfe1r3H///TQ0NFBWVsbZZ5+tgXEieUJFcBe0ufOHVesYO2pYxtsd4/GVjWxraeXAkmJOPnQwZrbX++WEtjZ46gU48diMNxcA/PM5aN4OA/vDCUeF+zSsgB074MAD4OjDezXkbHjitfVs2t5CSWEB7x05lAKzjPs917iZ1Vuaef/hB9Hmzp9fXc+2llYG9SviXW8Z0rtBZ8vTK2BrE/QrgrcdAx1zd+enX/0m/K0BBpTC8UeF7S+/BmvXQ1EhlB8DBbl3omlv73trm7Np6EgWv/hG/v2vw17/34sA/v40uMOwwXDkYbCjBZ56vv22HPPG1maWr90EwNYdrYw5eBBHDh5ARUUFs2bNYtasWZSVn8i6A4bz0suvcNGx5QA0btvOH15dx8DiQgD+7dAhDOqXY1+r6zfCilfD783NMHokHHpwu10KAJY9v/tn+l7+Xvq6zt73dC3FpfzqhTW7vcdd/Y7os7rwvg+iAH7/DygtCRuOHx0+8wFeWQ2NG+Adx/dezD0g976lellrm/Poi2t5fWtzp/s09z+Q/kWFTBg9nB2tbby+dXuX7tfntbbBXxtg3cZOdxlBEZT0g5PfBi2tYd81jXDgQDipLBRTW7b1YtDdt3brdtydiiMPpqXNeX1L5vdw+GEjeXnjrtxe29zE4NIixh95ME2tbaxv2tFbIWfPhk2hmPm3svB+Nm7YfZ+16/jHC8+F97d5B2zeCtuaw3v9b2WhEGrOvdy78r6/vHEbBa0t+fe/Dl36fz+E4nCwe1IZbNgc3vfXG3fflmOGDyjhA0cczAeOOJgDS4oZUlIMQH19PTNnzmTBggXMubOOf/zpj2xZ9kdaSwawZXsLO9qctw4ZsPO+OVcAAww5EE46IVwGDoADBuy2ywiKdv9M78LfS1/X2fuezq1gt/e4q98RfVoX3vciDA4bvmu/VAHc1Axr3uzlgHuGiuC9KCww/uOo4fQvKux0n5aSARwysB8Awwf0442tzV26X59XWBCK25J+ne4yhEIYemB0ZRCs3xRaAltbQzHV1gYFuXWEXFpUwNFDBwKwp/Hgk6/9Om87eNDO6yMGlnDM0ANoc2dHaxvFOZY3AMXFMPKQPe8zbDCzf3pXeH9bWqGwMLQqtLSEVsINm6G087+Zvqor7/sbW5sp3r4FyLP/dejS/7tBKH5SMyVs2Rp+ZtqWg1ranC3bWxhcGoqhhoYGvvKVr7Bs2TI+85nPcN755/PlL3+ZLVu2sL65hR2tbaza1ET9S2v5w6p1uT2DRGsrbGvKWAy1pG5P/0zvwt9Lruj4vqdrKyjc7T3u6ndETtjD+16EhbN7f12+62wPwPOvwFEjezfOHqIiOAvaCgopjk79FhUUsL015/8tuqwYC0UvhJ8tLXDwEGjcCH/8Zzhy7F8aa4z76oB+RQzr349Vm5ow4JCBJbvt88rGbbz4zHIGlexq+SkqKKCowPjty29SUlTAwFxsFRpQGk53rl0Xrg8bvPs+hYVsa26Gvz0N/YqhfwlsbwkF9DtPCF1jNmzu3bizoCvv+/bWNqytDUje/zrAGnaE//HlL4RCqLUNRgzbfVuOen1LM8PT3vf0xTL6bdvI9tY2Hl7+IqUlJbS5M7BfEWMOHkTFkQfT1NLK2m3b4wq9+9Zt3NWg0cFaWnL6M31vOr7v6Qpbtu/2HnflsyJn7OF930YbjD4M/m0MbN8RzhSueRMO6B/O/uQBFcFZUNDWyo7oi7GlrY2SwhxsAdxPO4haAyH8LC6Cl1eHUyjvfTvsaM3JgujVzU28sG4L/29U5r5er21u4sT3juNPr65nfdMOXli3hebWNlrbnPFHHMSOVueNXD09vnY9rHwdyo/dvT8wwI4W+hUXh9NjLS3hQ7SoMBTDEBXFudcdAvb+vpcUFuDRAW/S/td3Om501Fe8IBwEdbYtB722pYm3pBU01dXVTJkyhfr6elpbWtj2wjKu+tiHOfaYoykpLGBAcSGHDAj7DygupLkldw8AeHND5oNe4AiKc/4zfU86vu/pClp3ZHyP9/ZZkTP28L430barQC6NGjsaN8C6TbD8X6Er3KrXezHY7FMRnAXFzVtYsyW0ALy+dTvDB+TwUeE+WkcrrIv6ja7fFPoZtbbuGhRVYOF6DmlqaeW5xs2MHTV0Zwt/R+8+bCj/fcHZvPuwIQwpLebooQN5rnEzqzZtw8woLDBa23KwlXD7jjDg4cRjdrXwd/TKas4b/x+hQC4oCKdHDxgQPhAh9AnNwe4QXXnfhw8sYUe/cBo0af/rAIMphOdeCu/5lq2hn+j6zbtvy0HuztoO72llZSU1NTVUVVXx39+8nsdfXE3Ndddx4CFvYVj/Yp5v3MzKTdtwdzY2t3BgSQ6e/YFwmnv9pk5bBAuxnP5M35NM73u6pgOG7fYed+WzIifs5X0/nH6hz7976Ac+sD+UvTU0gIx5a/jc31v3uT4uR/9j47Nlewv/Wr+VEw/Z9UfTb9smmlpa+c2KNxhcWszwAblXAHTJtmZ49fV2sz2soYUTmnfAE0+Ff5Ahg0JLYMO/whFiab9O/8H6qpc2bKOppY3/W9kIwJEHDmDT9pZ273kmRw8ZyBOr1/Ov9VsZWFzIiFw8RbZ6bSiEn3wuXD/0oDAQJn2Gj5GHMPm0j4ZBMf1LQiuCWThN9tflMKB/6FKRY7ryvh8+qD//LCzK//91yPj/3kgrtHno+33EW0J/8GEHwmtvtN+Wg9Y17WBQvyIKC6zd53xlZSWVlZXUL1lCv2PezvbWNt46ZABFBQW8dehA/vzqel5Yv5XDBpVyYIaBVTlh0xYYWBoK3Qzv+6vs4IhXX8/Zz/Q96ex9Tyndso6XNmxr9x4/8+bm9p8VgwcwevDufWr7vL2876vYwZGr14btBw/Jmy4Q6SynO/JHTj75ZH/iiSdie/4lS5Ywfvz42J4/TknO3cxyeyBMNyQ59yT/zSv38XGHEQvlPj7uMGIRZ+5m9hd3P7mnnyeH2/FFRERERPaPimAREZFO1NXVUV5ezoQJEygvL6euri7ukHrNxIkTKSgooKKigoKCAiZOnBh3SCJZpT7BIiIiGdTV1VFdXU1tbS2tra0UFhYyZcoUIAyay2cTJ07k17/+NZdffjmnn346v/rVr7j11luZOHEiDz/8cNzhiWSFimAREZEMampqmDRpElVVVTQ0NFBWVsakSZOoqanJ+yL4kUceYcKECfzud7/jtttuo6ysjAkTJvDII4/EHZpI1qgIFhERyWD58uVs2bKFBQsW7GwJnjx5Mi+99FLcofU4d+e5557jhz/84c7cL7roosQOiJX8pD7BIiIiGfTr14+qqioqKiooKiqioqKCqqoq+vXL46nx0rzzne9sl/s73/nOuEMSySoVwSIiIhls376duXPnUl9fT0tLC/X19cydO5ft23N4eeR9sHDhQq644go2b97MFVdcwcKFC+MOSSSr1B1CREQkgzFjxnD22Wfv1if4/vvvjzu0Hve2t72N/v37M2/ePG699VbMjJNPPplt27bFHZpI1qgIFhERyaC6ujrj7BA1NTVxh9bjUrkvXrw4cblLcqgIFhERyaCyspLHH3+c0047jebmZkpKSpg6dWrezwwBu6aAS28FT8KsGJIsKoJFREQyqKur46GHHmLRokXtWkPHjh2biGKwsrKSysrKRC8dLPlNA+NEREQyqKmpoba2tt0MCbW1teoSIJInVASLiIhk0NDQwLhx49ptGzduHA0NDTFFJCLZpCJYREQkg7KyMr72ta9RXl7OhAkTKC8v52tf+xplZWVxh9YrqqqqKC0tpaKigtLSUqqqquIOSSSr1CdYREQkg4qKCr75zW8yfPhw3J21a9fyzW9+kyuuuCLu0HpcVVUV8+bNY9asWYwZM4bly5czc+ZMAObMmRNzdCLZoZZgERGRDO6//34GDRpE//79Aejfvz+DBg1KxDzB8+fPZ9asWUyfPp3S0lKmT5/OrFmzmD9/ftyhiWSNimAREZEMVq5cyb333suKFSt49NFHWbFiBffeey8rV66MO7Qe19zczLRp09ptmzZtGs3NzTFFJJJ9KoJFRESknZKSEubNm9du27x58ygpKYkpIpHsU59gERGRDEaNGsWFF17IXXfdRWtrK/X19Vx44YWMGjUq7tB63NSpU3f2AR4zZgyzZ89m5syZu7UOi+QyFcEiIiIZXH/99Vx11VVMnjyZl19+mSOOOIKWlhZuuummuEPrcanBb9dee+3O1fKmTZumQXGSV2LtDmFmp5rZc2a2xsy+Z8E1ZrbVzNamXQbGGaeIiCRPZWUlN998MwMHhq+ggQMHcvPNNyditTgIhXBTUxP19fU0NTWpAJa8E1tLsJkdAPwQqABeAf4EfAw4ELjO3b8RV2wiIiKgpYNF8lmcLcGHAz9192fcfSvwJHAsMBh4M8a4RERERCTPxVYEu3uDu38WwMxG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\n",
      "text/plain": [
       "<Figure size 720x648 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib.patches import Polygon\n",
    "\n",
    "# via https://matplotlib.org/gallery/statistics/boxplot_demo.html?highlight=boxplot\n",
    "random_dists = ['Normal(1, 2)', 'Lognormal(1, 3)', 'Exp(3)', 'Gumbel(6, 5)',\n",
    "                'Triangular(3, 8, 11)']\n",
    "N = 1793\n",
    "\n",
    "norm = np.random.normal(1, 2, N)\n",
    "logn = np.random.lognormal(1, 3, N)\n",
    "expo = np.random.exponential(3, N)\n",
    "gumb = np.random.gumbel(6, 5, N)\n",
    "tria = np.random.triangular(3, 8, 11, N)\n",
    "\n",
    "bootstrap_indices = np.random.randint(0, N, N)\n",
    "data = [\n",
    "    norm, norm[bootstrap_indices],\n",
    "    logn, logn[bootstrap_indices],\n",
    "    expo, expo[bootstrap_indices],\n",
    "    gumb, gumb[bootstrap_indices],\n",
    "    tria, tria[bootstrap_indices],\n",
    "]\n",
    "\n",
    "fig, ax1 = plt.subplots(figsize=(10, 9))\n",
    "fig.subplots_adjust(left=0.075, right=0.95, top=0.9, bottom=0.25)\n",
    "\n",
    "bp = ax1.boxplot(data, notch=0, sym='o', vert=1, whis=1.5)\n",
    "plt.setp(bp['boxes'], color='black')\n",
    "plt.setp(bp['whiskers'], color='black')\n",
    "plt.setp(bp['fliers'], color='red', marker='o')\n",
    "\n",
    "#在绘图中添加水平网格\n",
    "ax1.yaxis.grid(True, linestyle='-', which='major', color='lightgrey',\n",
    "               alpha=0.5)\n",
    "\n",
    "#ax1.set(\n",
    "#    axisbelow=True,  \n",
    "#    title='五个不同分布的比较箱线图',\n",
    "#    xlabel='分布',\n",
    "#    ylabel='值'\n",
    "#)\n",
    "\n",
    "box_colors = ['lightblue', 'pink']\n",
    "num_boxes = len(data)\n",
    "medians = np.empty(num_boxes)\n",
    "for i in range(num_boxes):\n",
    "    box = bp['boxes'][i]\n",
    "    box_x = []\n",
    "    box_y = []\n",
    "    for j in range(5):\n",
    "        box_x.append(box.get_xdata()[j])\n",
    "        box_y.append(box.get_ydata()[j])\n",
    "    box_coords = np.column_stack([box_x, box_y])\n",
    "\n",
    "    ax1.add_patch(Polygon(box_coords, facecolor=box_colors[i % 2]))\n",
    "    \n",
    "    med = bp['medians'][i]\n",
    "    median_x = []\n",
    "    median_y = []\n",
    "    for j in range(2):\n",
    "        median_x.append(med.get_xdata()[j])\n",
    "        median_y.append(med.get_ydata()[j])\n",
    "        ax1.plot(median_x, median_y, 'k')\n",
    "    medians[i] = median_y[0]\n",
    "\n",
    "    ax1.plot(np.average(med.get_xdata()), np.average(data[i]),\n",
    "             color='w', marker='o', markeredgecolor='k')\n",
    "\n",
    "# 设置轴范围和轴标签\n",
    "ax1.set_xlim(0.5, num_boxes + 0.5)\n",
    "top = 40\n",
    "bottom = -5\n",
    "ax1.set_ylim(bottom, top)\n",
    "ax1.set_xticklabels(np.repeat(random_dists, 2),\n",
    "                    rotation=45, fontsize=8)\n",
    "\n",
    "# 两位小数精确\n",
    "pos = np.arange(num_boxes) + 1\n",
    "upper_labels = [str(round(s, 2)) for s in medians]\n",
    "weights = ['bold', 'semibold']\n",
    "for tick, label in zip(range(num_boxes), ax1.get_xticklabels()):\n",
    "    k = tick % 2\n",
    "    ax1.text(pos[tick], .95, upper_labels[tick],\n",
    "             transform=ax1.get_xaxis_transform(),\n",
    "             horizontalalignment='center', size='medium',\n",
    "             weight=weights[k], color=box_colors[k])\n",
    "        \n",
    "fig.text(0.80, 0.08, f'{N} 随机数',\n",
    "         backgroundcolor=box_colors[0], color='black', weight='roman',\n",
    "         size='medium')\n",
    "fig.text(0.80, 0.045, '重采样',\n",
    "         backgroundcolor=box_colors[1],\n",
    "         color='black', weight='roman', size='medium')\n",
    "fig.text(0.80, 0.015, '*', color='black', backgroundcolor='silver',\n",
    "         weight='roman', size='medium')\n",
    "fig.text(0.815, 0.013, ' 平均值', color='black', weight='roman',\n",
    "         size='medium')\n",
    "\n",
    "plt.xlabel(\"分布\", fontsize = 20)\n",
    "plt.ylabel(\"值\", fontsize = 20)\n",
    "plt.title('五个不同分布的比较箱线图', fontsize = 20)\n",
    "\n",
    "plt.tick_params(labelsize=13)\n",
    "plt.grid()\n",
    "\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
